﻿namespace Sidvall.IdentityManager.Security.Entities.Model
{
    public sealed partial class DataPortal : global::Sidvall.IdentityManager.Model.DataPortalBase
    {
        #region Public Members

        #region AspNetRolesManager

        private global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetRolesManager<global::Sidvall.IdentityManager.Security.Entities.AspNetRoles, global::Sidvall.IdentityManager.Security.Entities.AspNetRolesCollectionItem> _AspNetRolesManager;
        public global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetRolesManager<global::Sidvall.IdentityManager.Security.Entities.AspNetRoles, global::Sidvall.IdentityManager.Security.Entities.AspNetRolesCollectionItem> AspNetRolesManager
        {
            get
            {
                return _AspNetRolesManager;
            }
            private set
            {
                _AspNetRolesManager = value;
            }
        }

        #endregion
        #region AspNetUserClaimsManager

        private global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserClaimsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaims, global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaimsCollectionItem> _AspNetUserClaimsManager;
        public global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserClaimsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaims, global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaimsCollectionItem> AspNetUserClaimsManager
        {
            get
            {
                return _AspNetUserClaimsManager;
            }
            private set
            {
                _AspNetUserClaimsManager = value;
            }
        }

        #endregion
        #region AspNetUserLoginsManager

        private global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserLoginsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserLogins, global::Sidvall.IdentityManager.Security.Entities.AspNetUserLoginsCollectionItem> _AspNetUserLoginsManager;
        public global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserLoginsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserLogins, global::Sidvall.IdentityManager.Security.Entities.AspNetUserLoginsCollectionItem> AspNetUserLoginsManager
        {
            get
            {
                return _AspNetUserLoginsManager;
            }
            private set
            {
                _AspNetUserLoginsManager = value;
            }
        }

        #endregion
        #region AspNetUsersManager

        private global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUsersManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUsers, global::Sidvall.IdentityManager.Security.Entities.AspNetUsersCollectionItem> _AspNetUsersManager;
        public global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUsersManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUsers, global::Sidvall.IdentityManager.Security.Entities.AspNetUsersCollectionItem> AspNetUsersManager
        {
            get
            {
                return _AspNetUsersManager;
            }
            private set
            {
                _AspNetUsersManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Constructors

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        public DataPortal(global::Sidvall.IdentityManager.Model.IDataPortalFactory localDataPortalFactory, global::Sidvall.IdentityManager.Model.IDataPortalFactory remoteDataPortalFactory, bool alwaysUseLocalDataPortal) 
            : base(global::Sidvall.IdentityManager.Security.Entities.Model.ResourceFactory.Current, localDataPortalFactory, remoteDataPortalFactory)
        {
            this.AspNetRolesManager = new global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetRolesManager<global::Sidvall.IdentityManager.Security.Entities.AspNetRoles, global::Sidvall.IdentityManager.Security.Entities.AspNetRolesCollectionItem>(this, alwaysUseLocalDataPortal);
            this.AspNetUserClaimsManager = new global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserClaimsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaims, global::Sidvall.IdentityManager.Security.Entities.AspNetUserClaimsCollectionItem>(this, alwaysUseLocalDataPortal);
            this.AspNetUserLoginsManager = new global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUserLoginsManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUserLogins, global::Sidvall.IdentityManager.Security.Entities.AspNetUserLoginsCollectionItem>(this, alwaysUseLocalDataPortal);
            this.AspNetUsersManager = new global::Sidvall.IdentityManager.Model.DataPortalManagers.AspNetUsersManager<global::Sidvall.IdentityManager.Security.Entities.AspNetUsers, global::Sidvall.IdentityManager.Security.Entities.AspNetUsersCollectionItem>(this, alwaysUseLocalDataPortal);
        }

        #endregion
    }
}